home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / util / cdity / ModeProSrc.lha / Daemon / MPGui.c < prev    next >
C/C++ Source or Header  |  1998-10-02  |  1KB  |  74 lines

  1. #include "MP.h"
  2. #include <dos/dos.h>
  3. #include <dos/dostags.h>
  4. #include <dos/dosextens.h>
  5. //#define DEBUG
  6. #include <debug.h>
  7.  
  8. extern UBYTE ModePro[];
  9. extern struct MPSem *MPSem;
  10.  
  11. extern STRPTR PrefsPath;
  12.  
  13. /*
  14. void __regargs _CXBRK(int l);
  15.  
  16. void __regargs _CXBRK(int l)
  17. {
  18. }
  19.  
  20. void __regargs __chkabort(void);
  21.  
  22. void __regargs __chkabort(void) 
  23. {
  24. }
  25. */
  26.  
  27.  
  28. BOOL ShowGUI(void)
  29. {
  30.   LONG counter,pri;
  31.  
  32.   pri=(LONG)FindTask(0)->tc_Node.ln_Pri+1;
  33.   pri=min(127,pri);
  34.   
  35.   counter=0;  
  36.   if(SendPrefsMsg(MP_PREFSTOFRONT,0,0) < 0)
  37.   {
  38.     if(SystemTags(PrefsPath,
  39.                 SYS_Asynch,     TRUE,
  40.                 SYS_Input,      0,
  41.                 SYS_Output,     0,
  42.                 NP_Priority,    pri,
  43.                 NP_StackSize,   10240,
  44.                 TAG_DONE))
  45.     {
  46.       //DKP("SystemTags=~0\n");  
  47.       EZReq(0,0,ModePro,GetString(MSG_ERR_COULDNT_FIND_PREFS),GetString(MSG_REQ_OK),PrefsPath);
  48.       return(0);
  49.     }
  50.     else
  51.     { // Sucess
  52.       //DKP("SystemTags=0 IoErr=%ld\n",IoErr());
  53.       
  54.       while(MPSem->PrefsPort==0 && counter<50)
  55.       {
  56.         counter++;
  57.         Delay(10);
  58.       }
  59.       
  60.       //DKP("Port=%8lx counter=%ld\n",MPSem->PrefsPort,counter);
  61.       
  62.       if(MPSem->PrefsPort==0) // if no port return 0
  63.         return(0);
  64.     }
  65.   }
  66.   return(1);
  67. }
  68.  
  69. void HideGUI(void)
  70. {
  71.   SendPrefsMsg(MP_PREFSCLOSE,0,0);
  72. }
  73.  
  74.